package com.atguigu.spring.test;

import org.springframework.jdbc.core.JdbcTemplate;

/**
 * @program: design-patterns
 * @author: yangshen
 * @description: 命令模式
 * @create: 2022-02-28 17:09
 **/
public class Command {
    /**
     * 1.public <T> List<T> query(String sql, RowMapper<T> rowMapper)
     * 2.看 command-源码类图.png 的分析
     *
     * 补充：
     * StatementCallback 接口 ,类似命令接口(Command)
     * - class QueryStatementCallback implements StatementCallback<T>, SqlProvider , 匿名内
     * 部类， 实现了命令接口， 同时也充当命令接收者
     * - 命令调用者 是 JdbcTemplate , 其中execute(StatementCallback<T> action) 方法中，调
     * 用action.doInStatement 方法. 不同的 实现 StatementCallback 接口的对象，对应不同
     * 的doInStatemnt 实现逻辑
     * - 另外实现 StatementCallback 命令接口的子类还有 QueryStatementCallback、
     */
    private JdbcTemplate jdbcTemplate;

}
